# -*- coding: utf-8 -*-            
# @Time : 2022/10/22 14:39
# @Author  : lining
# @FileName: demo1.py

"""
给定一个整数数组 nums 和一个整数目标值 target，请你在该数组中找出 和为目标值 target









的那两个整数，并返回它们的数组下标。

数组中同一个元素在答案里不能重复出现

输入：nums = [2,7,11,15], target = 9
输出：[0,1]
解释：因为 nums[0] + nums[1] == 9 ，返回 [0, 1] 。

"""
import time


def get_index(x, target):
    """
    :param x: 传入的数组
    :param target: 目标值
    :return:
    """
    for i in range(len(x)):
        for y in range(i+1, len(x)):
            if x[i] + x[y] == target:
                print(i, y)

def get_index_2(x, target):
    for a,b in enumerate(x):
        value = target-b
        try:
            if value in x[x.index(value,a+1):]:
                print([a, x.index(value,a+1)])
        except:
            pass

def get_index_3(nums, target):
    dct = {}
    for i, n in enumerate(nums):
        cp = target - n
        if cp in dct:
            print([dct[cp], i])
        else:
            dct[n] = i


a = [3,3,3]
get_index_2(a, 6)
